console.log(11);


let src :string = '哈喽';

let num :number = 1;

let bol : boolean = true;

let arr : [number,string ,boolean] = [1 , '1' , true];

let arr1 : [string]  = ['今天'];
let arr2 : [number] = [1];
let arr3 : boolean = true;

let arr4 : {name:string ; age : number}[] = [
    {
        name:'加油',
        age: 18
    },
    {
        name:'敲代码',
        age: 18
    }
]

let arr5  = (num:number,num1:number):number=>{
    return num + num1
}

// 数据类型: 布尔值 boolean    字符串  string   数值  number    空 null   未定义  undefined
            // 函数 function   数组 Array   对象 Object


// js的数组方法
        // push   向后添加数据
        // unshift  向前添加数据
        // pop  删除并返回最后一个元素
        // shift 删除并返回第一个元素
        // cancat  合并数组
        // join  将数组改成字符串
        // reverse 将数组倒序
        // sort 排序


// pop 
let brr : (number|string) []= [1,2,3,4,5,6] ;
brr.forEach((item:number|string,index:number)=>{
    if(!(item == brr.pop())){
        brr.push(item)
    }
})
// console.log(brr);

// push

let crr : string[] = ['今天','努力','敲代码'];

crr.forEach((item:string,index:number)=>{
    brr.push(item);
})
console.log(brr,'---brr');

// 实现二维数组转一维数组
let drr : (number[]|number)[]  = [[1,2,3],[4,5,6]];
let err : number[] = [];
drr.forEach((item:number[]|number,index:number)=>{
    if(item instanceof(Array)){
        item.forEach((v:number,i:number)=>{
            err.push(v)
        })
    }
})
drr = err

console.log(drr,'---drr');

// 随机n个不重复的值：
function fn (sum:number) {
    let sums = [];
    let js = Math.round(Math.random()*30+2)
    for (let i = 0; i < sum; i++) {
        // sums.forEach((item,index)=>{
        //     if(!item.includes(js)){
        //         sums.push(js)
        //     }
        // })
        // for (let j = 0; j < sums.length; j++) {
        //     if(!sums[j].includes(js)){
        //         sums.push(js)
        //     }
            
        // }
        sums.push(Math.round(Math.random()*30+2))
        
    }
    return sums
}
console.log(fn(4));

